'use strict'

define(['jquery', 'bootstrap', 'select2', 'shiftform', 'validate', 'validate.en', 'ajaxTab', 'datetimepicker', 'uploader', 'plupload','qiniu'], function ($) {
  return {
    init: function (data) {
      this.initPage(data.apiHost, data.cloudDomain);
    },

    initPage: function (apiHost, cloudDomain) {

      $(document).on("shown.bs.modal", "#edit-price", function (e) {

        $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

        var $form = $(e.currentTarget).find("form")              //bind shiftform
        $form.shiftform({
          beforeSubmit: function (el) {
            $form.trigger("validate.ajax.submit");
            return $.bt_validate.result[$.bt_validate.form_id]
          }
        })

        $('.datetimepicker').datetimepicker({
          format: 'yyyy-mm-dd hh:ii:ss',
          autoclose: true,
          language: 'zh-CN',
          todayBtn: 'linked',
          startDate: '${today}',
          todayHighlight: true,
          pickerPosition: 'bottom-right',
          minView: 'hour'
        });

      });

      $(document).on("shown.bs.modal", "#edit-book", function (e) {

        $('#returnTripCheckBox').change(function () {
          if ($(this).is(':checked')){

            $('#returnTrip').show();

            $('#returnTrip').find("input,select").attr("data-validate", "required");
            $('#returnTrip').find("input,select").removeAttr("disabled");

            $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
          } else{

            $('#returnTrip').hide();

            $('#returnTrip').find("input,select").removeAttr("data-validate");
            $('#returnTrip').find("input,select").attr("disabled", "disabled");

            $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

          }
        })

        $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

        var $form = $(e.currentTarget).find("form")              //bind shiftform
        $form.shiftform({
          beforeSubmit: function (el) {
            $form.trigger("validate.ajax.submit");
            return $.bt_validate.result[$.bt_validate.form_id]
          }
        })

        $('.datetimepicker').datetimepicker({
          format: 'yyyy-mm-dd hh:ii:ss',
          autoclose: true,
          language: 'zh-CN',
          todayBtn: 'linked',
          startDate: '${today}',
          todayHighlight: true,
          pickerPosition: 'bottom-right',
          minView: 'hour'
        });

        // $('.select2').select2({
        //   theme: "classic",
        //   placeholder: '请选择',
        //   minimumResultsForSearch: -1,
        //   allowClear: true
        // });

      });


      $(document).on("shown.bs.modal", "#add-aviation-user-info", function (e) {

        $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

        var $form = $(e.currentTarget).find("form")                        //bind shiftform

        $form.shiftform({
          beforeSubmit: function (el) {
            $form.trigger("validate.ajax.submit");
            return $.bt_validate.result[$.bt_validate.form_id]
          }
        })

        $('.datetimepicker').datetimepicker({
          format: 'yyyy-mm-dd',
          autoclose: true,
          language: 'zh-CN',
          todayBtn: 'linked',
          startDate: '${today}',
          todayHighlight: true,
          pickerPosition: 'bottom-right',
          minView: 'month'
        });

        $.ajax({
          url: apiHost + "/api/qiniu/token",
          jsonp: "callback",
          dataType: "jsonp",
          success: function( response ) {
            var uploaderCover = Qiniu.uploader({
              runtimes: 'html5,flash,html4',
              browse_button: 'pickCover',
              uptoken: response.uptoken,
              domain: cloudDomain,
              max_file_size: '4mb',
              max_retries: 3,
              chunk_size: '2mb',
              save_key: true,
              auto_start: true,
              init: {
                'UploadProgress': function(up, file) {
                  $('#messageCover').removeClass("hide");
                  $(".edit-btn").addClass("hide").prop("disabled", true);
                  $('#messageCover').html("正在上传图片，请稍后");
                  $('#submitBtn').attr("disabled", "disabled");
                },
                'FileUploaded': function(up, file, info) {
                  var res = $.parseJSON(info);
                  var cover_box = '';
                  $('#coverPreview').attr("src", window.__CTX__.cloudDomain + "/" + res.key);
                  $('#coverPreviewList').css("display", "block");
                  $('#cover').val(res.key);
                  $('#messageCover').html("加载图片完成");
                  setTimeout(function() {
                    $('#messageCover').addClass("hide");
                    $(".edit-btn").addClass("fade").removeClass("hide").prop("disabled", false).html("<span class='glyphicon glyphicon-repeat' aria-hidden='true'></span>&nbsp;&nbsp;重新上传");
                  }, 2000);
                  $('#submitBtn').removeAttr('disabled');
                },
                'Error': function(up, err, errTip) {
                  $('#messageCover').html("图片上传异常，请稍后重试");
                }
              }
            });
          }
        });

        $('.select2').select2({
          placeholder: '请选择',
          minimumResultsForSearch: -1,
          allowClear: true,
        });

      });
    }
    
  }
})

